/**********************************
The header file for module 3

**********************************/

#ifndef _r3_h
#define _r3_h

#include <stdio.h>
#include "r1.h"
#include "mpx_supt.h"
#include "r2.h"
#include "r3.h"

/**********************************
define statements

**********************************/
//none!!!!!!


/**********************************
Context Struct
Written by Chad Rothermund, 

**********************************/
typedef struct context{
	unsigned int BP, DI, SI, DS, ES;
	unsigned int DX, CX, BX, AX;
	unsigned int IP, CS, FLAGS;
} context;
typedef context *contextPtr;


/**********************************
params Struct
Written by Chad Rothermund, 

**********************************/
typedef struct params {
	int op_code;
	int device_id;
	unsigned char *buf_addr;
	int *count_addr;
} params;

//typedef params *param_ptr;


/**********************************
Prototypes

**********************************/
void interrupt dispatch();
void interrupt sys_call();
void load_procs();
int dispatch_init();
int dispatching( int argc, char *argv[] );
int loadprocs(int argc, char *argv[]);

#endif